Benutzerdefinierte Klassen implementiert man in Visual Basic mit Klassenmodulen. Die Telefonverzeichnis-Anwendung hat beispielsweise eine einfache Klasse cEintrag mit zwei Eigenschaften, Name und Telefon, definiert. Von der Klasse wurden mehrere Instanzen erstellt, und diese durch Zuweisen von Eigenschaftswerten an die Eigenschaften in verschiedene Zustände, z.B. (Gérald; 39 72 51) oder (Heidi; 43 43 03), versetzt.
Instanzen der Collection-Klasse können nicht nur in verschiedene Zustände versetzt werden, sondern sie zeigen auch ein Verhalten. Wird einem Collection-Objekt beispielsweise mit der Add-Methode ein Element hinzugefügt, so ändert sich der Wert seiner Count-Eigenschaft. Solch ein Verhalten von Objekten kann mit unseren bisherigen Kenntnissen über Klassenmodule nicht beschrieben werden.
Die Count-Eigenschaft eines Collection-Objekt ist ausserdem schreibgeschützt. Eine Wertzuweisung an diese Eigenschaft ist unzulässig und verursacht einen Laufzeitfehler. Auch ein solches Merkmal eines Objekts kann ein Anwendungsentwickler mit unseren momentanen Kenntnissen über Klassenmodule nicht beschreiben.
Die folgende Tabelle stellt einige Anforderungen zusammen, die Klassenmodule erfüllen müssen, damit eine Anwendungsentwicklerin Objekte wie Collection selber beschreiben kann. Die Anforderungen ergeben sich im Wesentlichen aus der Definition des Klassenbegriffs. Eine Objektklasse ist eine Beschreibung von Eigenschaften und Methoden zur Erzeugung von Objekten des gleichen Typs. Ein Objekt ist eine Einheit aus Daten (Eigenschaften und Eigenschaftswerte) und Operation (Methoden).
|
Anforderung |
Collection |
cEintrag |
|
INSTANZEN | ||
|
mehrere Instanzen aufgrund der Beschreibung |
ja |
ja |
|
DATEN (Eigenschaften) | ||
|
öffentlich, mit Schreib- und Leseberechtigung |
nein |
ja, z.B. Name |
|
öffentlich, nur Leseberechtigung |
ja, z.B. Count |
nein |
|
öffentlich, nur Schreibberechtigung |
nein |
nein |
|
privat |
unbekannt |
nein |
|
OPERATIONEN (Methoden) | ||
|
öffentlich, ohne Rückgabewert |
ja, z.B. Add |
nein |
|
öffentlich, mit Rückgabewert |
ja, z.B. Item |
nein |
|
privat |
unbekannt |
nein |